using ERPBackend.Models;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace ERPBackend.Services
{
    public interface ISupplierService
    {
        Task<IEnumerable<Supplier>> GetAllSuppliersAsync();
        Task<Supplier> GetSupplierByIdAsync(int id);
        Task<Supplier> GetSupplierByCodeAsync(string supplierCode);
        Task<Supplier> CreateSupplierAsync(Supplier supplier);
        Task<bool> UpdateSupplierAsync(Supplier supplier);
        Task<bool> DeleteSupplierAsync(int id);
        Task<bool> ChangeSupplierStatusAsync(int id, byte status);
        Task<int> GetTotalSuppliersAsync();
        Task<IEnumerable<Supplier>> GetSuppliersPagedAsync(int page, int pageSize);
    }
}